﻿using Abp.Application.Services.Dto;
using Abp.AutoMapper;
using Abp.Runtime.Validation;
using Magicodes.Admin.Custom.Fins;
using Magicodes.Admin.Dto;
using System;
using System.Collections.Generic;
using System.Text;

namespace Admin.Application.Custom.Fins.Dto
{
    public class GetPageListInput : PagedAndSortedInputDto, IShouldNormalize
    {
        public int Year { get; set; }
        public int Month { get; set; }
        public void Normalize()
        {
            if (string.IsNullOrWhiteSpace(base.Sorting))
            {
                Sorting = "SettlementDate";
            }
        }
    }

    [AutoMapFrom(typeof(MonthlyListing))]
    public class MonthlyListingListDto: EntityDto<long>
    {
        public string Sequencenumber { get; set; }
        public string Date { get; set; }
        public string WaybillNumber { get; set; }
        public string AreaOfTheOtherParty { get; set; }
        public string CompanyNameOfTheOtherParty { get; set; }
        public string BillingWeight { get; set; }
        public string ProductType { get; set; }
        public string PaymentMethod { get; set; }
        /// <summary>
        /// 费用
        /// </summary>
        public string Fee { get; set; }
        /// <summary>
        /// 折扣/促销
        /// </summary>
        public string DiscountOrPromotion { get; set; }
        /// <summary>
        /// 应付
        /// </summary>
        public string AmountPayable { get; set; }
        /// <summary>
        /// 经手人
        /// </summary>
        public string Agent { get; set; }

        public string ValueAddedFee { get; set; }
        /// <summary>
        /// 原寄地
        /// </summary>
        public string PlaceOfOrigin { get; set; }
        /// <summary>
        /// 寄件公司名称
        /// </summary>
        public string MailingCompanyName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string MailingCompanyTelephone { get; set; }
        /// <summary>
        /// 到件地区
        /// </summary>
        public string ArrivingArea { get; set; }
        /// <summary>
        /// 到方客户名称
        /// </summary>
        public string ArrivingCustomerName { get; set; }
        /// <summary>
        /// 到方客户电话
        /// </summary>
        public string ArrivingCustomerTelephone { get; set; }
        /// <summary>
        /// 寄件人
        /// </summary>
        public string Sender { get; set; }
        /// <summary>
        /// 寄件时间
        /// </summary>
        public string MailingTime { get; set; }
        /// <summary>
        /// 始发地(省名)
        /// </summary>
        public string OriginatingPlaceProvincialName { get; set; }
        /// <summary>
        /// 寄件公司地址
        /// </summary>
        public string MailingCompanyAddress { get; set; }
        /// <summary>
        /// 收件人工号
        /// </summary>
        public string ReceiptManualNumber { get; set; }
        /// <summary>
        /// 托寄物内容
        /// </summary>
        public string ConsignmentContent { get; set; }
        /// <summary>
        /// 托寄物数量
        /// </summary>
        public string ConsignmentQuantity { get; set; }
        /// <summary>
        /// 声明价值
        /// </summary>
        public string DeclaredValue { get; set; }
        /// <summary>
        /// 件数
        /// </summary>
        public string NumberOfPieces { get; set; }
        /// <summary>
        /// 体积
        /// </summary>
        public string Volume { get; set; }
        /// <summary>
        /// 目的地(省名)
        /// </summary>  
        public string DestinationProvinceName { get; set; }
        /// <summary>
        /// 收件人
        /// </summary>
        public string Recipient { get; set; }
        /// <summary>
        /// 收件地址
        /// </summary>
        public string ReceivingAddress { get; set; }
        /// <summary>
        /// 派件员工号
        /// </summary>
        public string DispatchEmployeeNumber { get; set; }
        /// <summary>
        /// 实际重量
        /// </summary>
        public string ActualWeight { get; set; }
        /// <summary>
        /// 回单单号
        /// </summary>
        public string ReturnBillNumber { get; set; }
        /// <summary>
        /// 签收人
        /// </summary>
        public string SignatoryAndRecipient { get; set; }
        /// <summary>
        /// 签收时间
        /// </summary>
        public string TimeOfSigningAndReceiving { get; set; }
        /// <summary>
        /// 退回件关联运单号
        /// </summary>
        public string ReturnRelatedTransportBillNumber { get; set; }
        /// <summary>
        /// 附加字段1
        /// </summary>
        public string AdditionalField1 { get; set; }
        public string AdditionalField2 { get; set; }
        public string AdditionalField3 { get; set; }
        /// <summary>
        /// 结算日期
        /// </summary>
        public string SettlementDate { get; set; }
        /// <summary>
        /// 付款网点
        /// </summary>
        public string PaymentNetwork { get; set; }
        /// <summary>
        /// 子公司卡号
        /// </summary>
        public string SubsidiaryCardNumber { get; set; }
        /// <summary>
        /// 备 注
        /// </summary>
        public string Notes { get; set; }
        /// <summary>
        /// 快件内容
        /// </summary>
        public string ExpressContent { get; set; }
        /// <summary>
        /// 国别
        /// </summary>
        public string Country { get; set; }
        /// <summary>
        /// 区域类型
        /// </summary>
        public string RegionType { get; set; }
        /// <summary>
        /// 预留字段5
        /// </summary>
        public string ReservedFields5 { get; set; }
        public string Long { get; set; }
        public string Wide { get; set; }
        public string High { get; set; }
        /// <summary>
        /// 寄件城市代码
        /// </summary>
        public string SendCityCode { get; set; }
        /// <summary>
        /// 收件城市代码
        /// </summary>
        public string ReceiveCityCode { get; set; }
        /// <summary>
        /// 寄件网点
        /// </summary>
        public string SendDeptCode { get; set; }
        /// <summary>
        /// 派送网点
        /// </summary>
        public string DeliveryDeptCode { get; set; }
    }
}
